/**
 * Created by Administrator on 2017/3/6.
 */
$(function () {
    //省钱控商品
    /**
     * 代码思路：
     * 优先渲染出页码，然后根据页面的变化动态渲染商品列表
     */
    (function () {
        $.get('http://139.199.157.195:9090/api/getmoneyctrl', getFullPage);
        
        function getFullPage(data) {
            /**
             * 模板引擎辅助函数
             * 计算出商品所需的总页码
             * totalCount：总商品数
             * pagesize：单页渲染数
             */
            template.helper('pageCount', function (totalCount, pagesize) {
                var page = Math.ceil(totalCount/pagesize);
                return page;
            });
            var html = template('paging', data);
            $('select').html(html);


            //为渲染好的option标签添加value属性
            (function () {
                for (var i = 0; i < $('option').length; i++) {
                    $('option').eq(i).attr('value', i+1);
                }
            })();


            //进入页面后获取省钱控列表
            $.get('http://139.199.157.195:9090/api/getmoneyctrl', {pageid: parseInt($('select').val())}, operaRecomm);


            //判断当前页是否为第一页或其他异常数据，如果是，则隐藏上一页
            if (parseInt($('select').val()) <= 1) {
                $("#previous").css('visibility', 'hidden');
            }


            /**
             * 下拉列表选项的选择触发事件
             */
            $('select').on('change', function () {
                //根据选择的页码重新获取商品数据
                $.get('http://139.199.157.195:9090/api/getmoneyctrl', {pageid: parseInt($('select').val())}, operaRecomm);

                /**
                 * 如果选择的页码为1，隐藏上一页
                 * 如果选择的页码为页码最大值，隐藏下一页
                 * 如果非边界值，则去除两个按钮的隐藏
                 */
                if ($(this).val() == '1') {
                    $("#previous").css('visibility', 'hidden');
                    $("#next").removeAttr('style');
                } else if ($(this).val() == '' + $('select option').length) {
                    $("#next").css('visibility', 'hidden');
                    $("#previous").removeAttr('style');
                } else {
                    $("#next").removeAttr('style');
                    $("#previous").removeAttr('style');
                }
            });

            //上一页按钮点击事件
            $("#previous").on('click', function () {
                $.get('http://139.199.157.195:9090/api/getmoneyctrl', {pageid: parseInt($('select').val())-1}, operaRecomm);
                var page = parseInt($('select').val())-1;
                $('select').val(''+page);

                //点击下一页后，解除下一页按钮的隐藏
                $("#next").removeAttr('style');
                //如果点击按钮后页码为1或其他小于1的异常数据，隐藏上一页按钮
                if (parseInt($('select').val()) <= 1) {
                    $(this).css('visibility', 'hidden');
                }
            });

            //下一页按钮点击事件
            $("#next").on('click', function () {
                $.get('http://139.199.157.195:9090/api/getmoneyctrl', {pageid: parseInt($('select').val())+1}, operaRecomm);
                var page = parseInt($('select').val())+1;
                $('select').val(''+page);

                //点击下一页后，解除上一页按钮的隐藏
                $("#previous").removeAttr('style');
                //如果点击按钮后页码为最大值或其他大于最大值的异常数据，隐藏下一页按钮
                if (parseInt($('select').val()) >= $('select option').length) {
                    $(this).css('visibility', 'hidden');
                }
            });

            /**
             * 渲染函数
             * @param data
             */
            function operaRecomm(data) {
                //格式化留言数据
                template.helper('getMan', function (data) {
                    newData = data.replace(/[^0-9]/ig,"")
                    return newData;
                });

                var html = template('comm_list', data);
                $('.comm_list').html(html);

                //为商品图片添加一个浮动样式
                (function () {
                    $('.comm_list img').addClass('fl');
                })();

                //获取列表完毕执行本回调函数渲染后返回顶部
                $('body').animate({scrollTop: 0}, 'normal');
            }
        }
    })();
});

$('#returnTop').on('click', function () {
    $('body').animate({scrollTop: 0}, 'normal');
    return false;
});